1. Field of the Invention
Embodiments of the invention generally relate to sharing information between software components. More specifically, embodiments of the invention relate to a method for sharing unresolved information between software components.
2. Description of the Related Art
Independent software vendors are increasingly specialized in the products and components they produce. This specialization allows vendors to gain expertise, thereby increasing productivity and profits. Frequently, vendors work simultaneously with other vendors, and with large software companies, to create adequate application solutions in an efficient and timely manner. In creating application solutions, software components or application artifacts which are developed independently (and which are unaware of one another) may need to be integrated together. In such cases, integration techniques and solutions are necessary to allow these independent software components to work together in a complete integrated solution.
One important aspect of integration is sharing information between different software components or application artifacts included in the integrated solution. In particular, the sharing of information which may be unresolved at solution development time is often necessary. That is, a given software component may have information needed by other software components to configure their interaction with the given software component. This needed information may be unresolved until deployment on a remote computer or runtime of the solution. For example, assume a software company creates a solution that involves a database component and a Hypertext Preprocessor (PHP) component used in managing an electronic commerce website and further that the two components are independently developed by different vendors. It is important that the PHP component interact with the database component to correctly track purchases and inventory for the website. In such a case, the PHP component needs configuration information, such as a database name, a database username, a database password, and a database port to connect to the database. The database component knows this information (or at least will know the needed information at deployment). It is important for the components to share this information before the solution is used because without sharing the information the solution will not function correctly.